﻿using System;
using System.Collections.Generic;
using YNTK.Dependency;
using YNTK.System.Entitys.Dto.Common;

namespace YNTK.System.Entitys.Dto.Permission.Organize
{
    /// <summary>
    /// 组织数据传输模型
    /// </summary>
    [SuppressSniffer]
    public class OrganizeListDto
    {
        /// <summary>
        /// 组织id
        /// </summary>
        public string id { get; set; }

        /// <summary>
        /// 组织代码
        /// </summary>
        public string enCode { get; set; }

        /// <summary>
        /// 组织全称
        /// </summary>
        public string fullName { get; set; }

        /// <summary>
        /// 组织简称
        /// </summary>
        public string organizeName { get; set; }

        /// <summary>
        /// 授权TK码
        /// </summary>
        public string authorizationCode { get; set; }

        /// <summary>
        /// 启用/禁用,1.启用
        /// </summary>
        public int? enabledMark { get; set; }

        /// <summary>
        /// 状态(0.未开通 1.已开通 2.服务到期 3.服务终止)
        /// </summary>
        public int state { get; set; }

        /// <summary>
        /// 状态文本
        /// </summary>
        public string stateText { get; set; }

        /// <summary>
        /// 行政区划,如云南省-昆明市
        /// </summary>
        public string administrativeArea { get; set; }

        /// <summary>
        /// 首次开通日期
        /// </summary>
        public DateTime? firstOpeningDate { get; set; }

        /// <summary>
        /// 最近一次开通日期
        /// </summary>
        public DateTime? openingDate { get; set; }

        /// <summary>
        /// 授权期限起
        /// </summary>
        public DateTime? mandateStart { get; set; }

        /// <summary>
        /// 授权期限止
        /// </summary>
        public DateTime? mandateEnd { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string description { get; set; }
    }

    /// <summary>
    /// 组织下拉数据传输模型
    /// </summary>
    [SuppressSniffer]
    public class OrganizeSelectListDto
    {
        /// <summary>
        /// 组织id
        /// </summary>
        public string id { get; set; }

        /// <summary>
        /// 组织代码
        /// </summary>
        public string enCode { get; set; }

        /// <summary>
        /// 组织全称
        /// </summary>
        public string fullName { get; set; }

        /// <summary>
        /// 组织简称
        /// </summary>
        public string organizeName { get; set; }
    }

    /// <summary>
    /// 组织服务记录数据传输模型
    /// </summary>
    [SuppressSniffer]
    public class OrganizeOpenRecordListDto
    {
        /// <summary>
        /// id
        /// </summary>
        public string id { get; set; }

        /// <summary>
        /// 服务类型(0.开通服务 1.服务到期 2.服务终止)
        /// </summary>
        public int serviceType { get; set; }

        /// <summary>
        /// 服务类型文本
        /// </summary>
        public string serviceTypeText { get; set; }

        /// <summary>
        /// 开通/终止时间
        /// </summary>
        public DateTime? operatingTime { get; set; }

        /// <summary>
        /// 授权期限起
        /// </summary>
        public DateTime? mandateStart { get; set; }

        /// <summary>
        /// 授权期限止
        /// </summary>
        public DateTime? mandateEnd { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string description { get; set; }

        /// <summary>
        /// 授权TK码
        /// </summary>
        public string authorizationCode { get; set; }
    }

    /// <summary>
    /// 组织信息传输模型
    /// </summary>
    [SuppressSniffer]
    public class OrganizeInfoDto : OrganizeListDto
    {
        /// <summary>
        /// 组织log jpg图片id
        /// </summary>
        public string logId { get; set; }

        /// <summary>
        /// 组织简介
        /// </summary>
        public string introduction { get; set; }

        /// <summary>
        /// 经营范围
        /// </summary>
        public string scopeBusiness { get; set; }

        /// <summary>
        /// 地址
        /// </summary>
        public string address { get; set; }

        /// <summary>
        /// 组织信息
        /// </summary>
        public string information { get; set; }
    }
   
    /// <summary>
    /// 组织文件数据传输模型
    /// </summary>
    [SuppressSniffer]
    public class OrganizeFileListDto
    {
        /// <summary>
        /// 记录id
        /// </summary>
        public string id { get; set; }

        /// <summary>
        /// 组织文件分类id
        /// </summary>
        public string classifyId { get; set; }

        /// <summary>
        /// 组织文件分类名称
        /// </summary>
        public string classifyName { get; set; }

        /// <summary>
        /// 文件id
        /// </summary>
        public string fileId { get; set; }

        /// <summary>
        /// 文件名称
        /// </summary>
        public string fileName { get; set; }

        /// <summary>
        /// 存储文件名
        /// </summary>
        public string saveFileName { get; set; }

        /// <summary>
        /// 文件后缀
        /// </summary>
        public string extension { get; set; }

        /// <summary>
        /// 文件大小
        /// </summary>
        public long size { get; set; }

        /// <summary>
        /// 文件大小以B，KB，GB，TB形式显示
        /// </summary>
        public string fileSize { get; set; }

        /// <summary>
        /// 文件存储目录
        /// </summary>
        public string fileDirectory { get; set; }
    }
}
